import Vue from 'vue'
import App from './App.vue'
// 引入路由
import router from '../src/router'
// 三级联动组件为一个全局组件
import TypeNav from '../src/components/TypeNav/TypeNav.vue'
// 公共轮播图组件为一个全局组件
import pubCarousel from '../src/components/Carousel/pubCarousel.vue'
// 引入仓库
import store from './store'
// 引入MockServer.js------mock数据
import '@/mock/mockServer'
// 引入swiper样式(多个组件使用了，所以可以布局到入口文件供他们一起使用)
import "swiper/css/swiper.css"

Vue.config.productionTip = false

Vue.component("TypeNav", TypeNav)
Vue.component("pubCarousel", pubCarousel)

new Vue({
  render: h => h(App),
  // 进行全局事件总线的安装,$bus就是当前的vm
  beforeCreate(){
    Vue.prototype.$bus = this
  },

  // 注册路由
  // 注册路由信息，此时的组件身上就拥有$route、$router属性
  // 注册完路由之后，不管是路由组件还是非路由组件身上都有$route和$router属性
  router,
  // 注册数据仓库：这个时候组件实例身上会多一个属性$store
  store
}).$mount('#app')
